JCache (JSR 107) কনফিগারেশন

Database Tutorials - হ্যাজেলকাস্ট  (Hazelcast) Hazelcast Caching |
237
237

JCache (JSR 107) হলো একটি ক্যাশিং API স্ট্যান্ডার্ড যা Java প্ল্যাটফর্মের জন্য ডিফাইন করা হয়েছে। এটি ডিস্ট্রিবিউটেড এবং লোকাল ক্যাশ ম্যানেজমেন্টের জন্য একটি সাধারণ ইন্টারফেস প্রদান করে। Hazelcast JCache API সমর্থন করে, যা আপনাকে Hazelcast-কে JCache স্ট্যান্ডার্ডের মাধ্যমে ব্যবহার করতে সাহায্য করে। এই কনফিগারেশনের মাধ্যমে আপনি Hazelcast ক্যাশিং-এর শক্তিশালী সুবিধাগুলি JCache API এর সাহায্যে উপভোগ করতে পারবেন।


JCache কনফিগারেশন করার জন্য ধাপগুলি

Hazelcast এ JCache (JSR 107) কনফিগারেশন করতে হলে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে।


১. Maven Dependency যুক্ত করা

প্রথমে, আপনাকে Hazelcast-এর জন্য JCache কনফিগারেশন উপলব্ধ করতে হবে। Maven প্রকল্পে Hazelcast এবং JCache এর জন্য নির্দিষ্ট ডিপেনডেন্সি যুক্ত করতে হবে।

Maven Dependency Example:

<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>hazelcast</artifactId>
    <version>5.0</version>
</dependency>

<dependency>
    <groupId>javax.cache</groupId>
    <artifactId>javax.cache-api</artifactId>
    <version>1.1.1</version>
</dependency>

<dependency>
    <groupId>com.hazelcast</groupId>
    <artifactId>hazelcast-jcache</artifactId>
    <version>5.0</version>
</dependency>

এখানে hazelcast-jcache ডিপেনডেন্সি Hazelcast এবং JCache ইন্টিগ্রেশনের জন্য প্রয়োজন।


২. Hazelcast JCache কনফিগারেশন

Hazelcast JCache API ব্যবহার করতে হলে, আপনাকে Hazelcast কনফিগারেশন ফাইল বা কোডের মাধ্যমে CacheManager তৈরি করতে হবে। নিচে এর একটি উদাহরণ দেওয়া হলো:

Hazelcast Configurations (JCache) Example:

import com.hazelcast.cache.Cache;
import com.hazelcast.cache.CacheManager;
import com.hazelcast.cache.impl.HazelcastCachingProvider;
import javax.cache.Cache;
import javax.cache.CacheException;
import javax.cache.configuration.MutableConfiguration;
import javax.cache.spi.CachingProvider;
import javax.cache.CacheManager;

public class JCacheExample {
    public static void main(String[] args) {
        // Caching Provider তৈরি
        CachingProvider cachingProvider = HazelcastCachingProvider.createCachingProvider();
        
        // CacheManager তৈরি
        CacheManager cacheManager = cachingProvider.getCacheManager();

        // Cache কনফিগারেশন তৈরি
        MutableConfiguration<String, String> config = new MutableConfiguration<>();
        config.setTypes(String.class, String.class); // Key এবং Value টাইপ
        config.setStoreByValue(false); // Value বাই-রেফারেন্স বা বাই-ভ্যালু হবে

        // Cache তৈরি করা
        Cache<String, String> cache = cacheManager.createCache("myCache", config);

        // Cache ব্যবহার
        cache.put("key1", "value1");
        System.out.println("Cache Value: " + cache.get("key1")); // "value1"
        
        // Cache বন্ধ করা
        cacheManager.close();
    }
}

এখানে:

  • CacheManager একটি ক্যাশের অ্যাক্সেস ও পরিচালনার জন্য ব্যবহৃত হয়।
  • Cache হল JCache API-র ইন্টারফেস যা ডেটা স্টোরেজ পরিচালনা করে।
  • MutableConfiguration ব্যবহার করে আপনি ক্যাশের কনফিগারেশন নির্ধারণ করতে পারবেন (যেমন কী-ভ্যালু টাইপ, স্টোর বাই-ভ্যালু বা বাই-রেফারেন্স ইত্যাদি)।

৩. Hazelcast এ JCache ব্যবহার করা

Hazelcast এর সাথে JCache ব্যবহার করতে হলে, আপনাকে HazelcastCacheManager ব্যবহার করতে হবে, যা Hazelcast ক্যাশে অ্যাক্সেস করতে সহায়ক। এইভাবে আপনি Hazelcast ক্যাশ এবং JCache API এর মাধ্যমে একই ক্যাশ পরিচালনা করতে পারবেন।

Hazelcast JCache কনফিগারেশন:

import com.hazelcast.cache.Cache;
import com.hazelcast.cache.HazelcastCacheManager;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
import javax.cache.Cache;
import javax.cache.CacheManager;
import javax.cache.configuration.MutableConfiguration;

public class HazelcastJCacheExample {
    public static void main(String[] args) {
        // Hazelcast instance তৈরি করা
        HazelcastInstance hzInstance = Hazelcast.newHazelcastInstance();
        
        // Hazelcast CacheManager তৈরি করা
        HazelcastCacheManager cacheManager = (HazelcastCacheManager) hzInstance.getCacheManager();
        
        // Cache কনফিগারেশন তৈরি করা
        MutableConfiguration<String, String> config = new MutableConfiguration<>();
        config.setTypes(String.class, String.class);
        
        // Cache তৈরি করা
        Cache<String, String> cache = cacheManager.createCache("myHazelcastCache", config);
        
        // Cache ব্যবহার
        cache.put("key1", "value1");
        System.out.println("Hazelcast Cache Value: " + cache.get("key1")); // "value1"
        
        // Cache বন্ধ করা
        cacheManager.close();
    }
}

এই উদাহরণে, আমরা Hazelcast ক্লাস্টারে JCache API ব্যবহার করে ক্যাশ তৈরি করেছি এবং তার মধ্যে ডেটা যোগ/পড়ে দেখেছি।


৪. JCache এর সুবিধা এবং অপটিমাইজেশন

  • Near Cache: Near Cache Hazelcast JCache এর গুরুত্বপূর্ণ বৈশিষ্ট্য, যা ক্যাশে এর কাছাকাছি ক্লায়েন্ট মেমরিতে ডেটা রাখে। এটি ক্যাশের অ্যাক্সেস গতি বৃদ্ধি করে।
  • Expiration & Eviction: Hazelcast JCache API ক্যাশের জন্য Expiration (ডেটা অবধি মেয়াদ উত্তীর্ণ হওয়া) এবং Eviction (অতিরিক্ত ডেটা মুছে ফেলা) নীতির সুবিধা প্রদান করে।

সারাংশ

JCache (JSR 107) API Hazelcast ক্যাশিং সমাধানগুলির সাথে ইন্টিগ্রেশন করার একটি স্ট্যান্ডার্ড পদ্ধতি। Hazelcast জাভা প্ল্যাটফর্মের জন্য একটি অত্যন্ত স্কেলেবল ক্যাশিং সিস্টেম প্রদান করে যা জাভা অ্যাপ্লিকেশনে ইন-মেমরি ক্যাশিং কার্যকারিতা সক্ষম করে। Hazelcast-এর মাধ্যমে JCache কনফিগারেশন ও ব্যবহারে আপনি দ্রুত পারফরম্যান্স এবং স্কেলেবিলিটি অর্জন করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion